home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1998 November: Tool Chest / Dev.CD Nov 98 TC.toast / Tool Chest / Development Kits / MPW etc. / Debuggers / Power Mac Debugger / Debugger Extensions / ndcd.h < prev    next >
Encoding:
C/C++ Source or Header  |  1997-01-30  |  2.0 KB  |  108 lines  |  [TEXT/MPS ]

  1. /*
  2.     File:        ndcd.h
  3.  
  4.     Contains:    Interface declarations for PowerPC native debugger extensions ('ndcd's)
  5.  
  6.     Written by:    Bill Kincaid
  7.  
  8.     Copyright:    © 1992 by Apple Computer, Inc. - All rights reserved.
  9.  
  10.     Change History (most recent first):
  11.     
  12.         <1>        12/17/92    WSK        Initial version.
  13.  
  14. */
  15.  
  16.  
  17.  
  18. #ifndef __NDCD__
  19.  
  20. #define __NDCD__
  21.  
  22.  
  23. #ifndef __TYPES__
  24. #include <Types.h>
  25. #endif
  26.  
  27.  
  28. #ifdef __cplusplus
  29. extern "C" {
  30. #endif
  31.  
  32.  
  33. // Insofar as possible, we mimic the existing 68K dcmd interface
  34. #include "dcmd.h"
  35.  
  36.  
  37. // Register numbers
  38. // NOTE: the registerFile field of the dcmdBlock is not used and always contains NULL-
  39. // see the dcmdReadPowerPCRegister and dcmdWritePowerPCRegister routines below for
  40. // accessing registers
  41.  
  42. #define R0Register    0
  43. #define R1Register    1
  44. #define R2Register    2
  45. #define R3Register    3
  46. #define R4Register    4
  47. #define R5Register    5
  48. #define R6Register    6
  49. #define R7Register    7
  50. #define R8Register    8
  51. #define R9Register    9
  52. #define R10Register    10
  53. #define R11Register    11
  54. #define R12Register    12
  55. #define R13Register    13
  56. #define R14Register    14
  57. #define R15Register    15
  58. #define R16Register    16
  59. #define R17Register    17
  60. #define R18Register    18
  61. #define R19Register    19
  62. #define R20Register    20
  63. #define R21Register    21
  64. #define R22Register    22
  65. #define R23Register    23
  66. #define R24Register    24
  67. #define R25Register    25
  68. #define R26Register    26
  69. #define R27Register    27
  70. #define R28Register    28
  71. #define R29Register    29
  72. #define R30Register    30
  73. #define R31Register    31
  74.  
  75. #define PCRegisterPowerPC    32
  76. #define LRRegister    33
  77. #define CRRegister    34
  78. #define CTRRegister    35
  79.  
  80.  
  81. // Routines not supported:
  82.  
  83. #define dcmdScroll()
  84. #define dcmdDrawPrompt(x)
  85. #define dcmdGetBreakMessage(x)
  86. #define dcmdGetNameAndOffset(x,y)
  87. #define dcmdGetTrapName(x,y)
  88. #define dcmdGetMacroName(x)
  89. #define dcmdSwapWorlds()
  90. #define dcmdSwapScreens()
  91. #define dcmdForAllHeapBlocks(x)
  92.  
  93.  
  94. // New routines for PowerPC:
  95.  
  96. OSErr dcmdReadPowerPCRegister(unsigned long regnum, unsigned long *currentValue);
  97.  
  98. OSErr dcmdWritePowerPCRegister(unsigned long regnum, unsigned long newValue);
  99.  
  100.  
  101.  
  102. #ifdef __cplusplus
  103. }
  104. #endif
  105.  
  106.  
  107. #endif
  108.